package com.boss.salary.service;

import com.boss.common.entity.PageDTO;
import com.boss.framework.dto.PaginationDTO;
import com.boss.salary.entity.PayeeAcct;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface IPayeeAcctService {

    /**
     * 查询收款账户信息
     * @param paginationDTO
     * @param queryParam
     * @return
     */
    PageDTO<PayeeAcct>  getAccountInfo(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 校验重复
     * @param queryParams
     * @return
     */
    String checkRepeat(Map<String, Object> queryParams);

    /**
     * 保存收款账户信息
     * @param payeeAcct
     */
    void saveAccount(PayeeAcct payeeAcct);

    /**
     * 修改收款账户信息
     * @param payeeAcct
     */
    void updateAccount(PayeeAcct payeeAcct);

    /**
     * 删除收款账户信息
     * @param accountId
     */
    void deleteAccount(List<String> accountId);

    List<String> getExccelColumnName();

    void payeeAcctsExcel(OutputStream outputStream)throws IOException;

    void Read(MultipartFile file, String province, String salaryMonth,List<String>payeeExccel) throws IOException, IllegalAccessException, NoSuchMethodException, InvocationTargetException;
}
